package com.easyOrder.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MaterialExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public MaterialExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andBranchIdIsNull() {
            addCriterion("branch_id is null");
            return (Criteria) this;
        }

        public Criteria andBranchIdIsNotNull() {
            addCriterion("branch_id is not null");
            return (Criteria) this;
        }

        public Criteria andBranchIdEqualTo(Long value) {
            addCriterion("branch_id =", value, "branchId");
            return (Criteria) this;
        }

        public Criteria andBranchIdNotEqualTo(Long value) {
            addCriterion("branch_id <>", value, "branchId");
            return (Criteria) this;
        }

        public Criteria andBranchIdGreaterThan(Long value) {
            addCriterion("branch_id >", value, "branchId");
            return (Criteria) this;
        }

        public Criteria andBranchIdGreaterThanOrEqualTo(Long value) {
            addCriterion("branch_id >=", value, "branchId");
            return (Criteria) this;
        }

        public Criteria andBranchIdLessThan(Long value) {
            addCriterion("branch_id <", value, "branchId");
            return (Criteria) this;
        }

        public Criteria andBranchIdLessThanOrEqualTo(Long value) {
            addCriterion("branch_id <=", value, "branchId");
            return (Criteria) this;
        }

        public Criteria andBranchIdIn(List<Long> values) {
            addCriterion("branch_id in", values, "branchId");
            return (Criteria) this;
        }

        public Criteria andBranchIdNotIn(List<Long> values) {
            addCriterion("branch_id not in", values, "branchId");
            return (Criteria) this;
        }

        public Criteria andBranchIdBetween(Long value1, Long value2) {
            addCriterion("branch_id between", value1, value2, "branchId");
            return (Criteria) this;
        }

        public Criteria andBranchIdNotBetween(Long value1, Long value2) {
            addCriterion("branch_id not between", value1, value2, "branchId");
            return (Criteria) this;
        }

        public Criteria andCodeIsNull() {
            addCriterion("code is null");
            return (Criteria) this;
        }

        public Criteria andCodeIsNotNull() {
            addCriterion("code is not null");
            return (Criteria) this;
        }

        public Criteria andCodeEqualTo(String value) {
            addCriterion("code =", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotEqualTo(String value) {
            addCriterion("code <>", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThan(String value) {
            addCriterion("code >", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThanOrEqualTo(String value) {
            addCriterion("code >=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThan(String value) {
            addCriterion("code <", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThanOrEqualTo(String value) {
            addCriterion("code <=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLike(String value) {
            addCriterion("code like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotLike(String value) {
            addCriterion("code not like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeIn(List<String> values) {
            addCriterion("code in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotIn(List<String> values) {
            addCriterion("code not in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeBetween(String value1, String value2) {
            addCriterion("code between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotBetween(String value1, String value2) {
            addCriterion("code not between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andFullNameIsNull() {
            addCriterion("full_name is null");
            return (Criteria) this;
        }

        public Criteria andFullNameIsNotNull() {
            addCriterion("full_name is not null");
            return (Criteria) this;
        }

        public Criteria andFullNameEqualTo(String value) {
            addCriterion("full_name =", value, "fullName");
            return (Criteria) this;
        }

        public Criteria andFullNameNotEqualTo(String value) {
            addCriterion("full_name <>", value, "fullName");
            return (Criteria) this;
        }

        public Criteria andFullNameGreaterThan(String value) {
            addCriterion("full_name >", value, "fullName");
            return (Criteria) this;
        }

        public Criteria andFullNameGreaterThanOrEqualTo(String value) {
            addCriterion("full_name >=", value, "fullName");
            return (Criteria) this;
        }

        public Criteria andFullNameLessThan(String value) {
            addCriterion("full_name <", value, "fullName");
            return (Criteria) this;
        }

        public Criteria andFullNameLessThanOrEqualTo(String value) {
            addCriterion("full_name <=", value, "fullName");
            return (Criteria) this;
        }

        public Criteria andFullNameLike(String value) {
            addCriterion("full_name like", value, "fullName");
            return (Criteria) this;
        }

        public Criteria andFullNameNotLike(String value) {
            addCriterion("full_name not like", value, "fullName");
            return (Criteria) this;
        }

        public Criteria andFullNameIn(List<String> values) {
            addCriterion("full_name in", values, "fullName");
            return (Criteria) this;
        }

        public Criteria andFullNameNotIn(List<String> values) {
            addCriterion("full_name not in", values, "fullName");
            return (Criteria) this;
        }

        public Criteria andFullNameBetween(String value1, String value2) {
            addCriterion("full_name between", value1, value2, "fullName");
            return (Criteria) this;
        }

        public Criteria andFullNameNotBetween(String value1, String value2) {
            addCriterion("full_name not between", value1, value2, "fullName");
            return (Criteria) this;
        }

        public Criteria andStatusIdIsNull() {
            addCriterion("status_id is null");
            return (Criteria) this;
        }

        public Criteria andStatusIdIsNotNull() {
            addCriterion("status_id is not null");
            return (Criteria) this;
        }

        public Criteria andStatusIdEqualTo(Integer value) {
            addCriterion("status_id =", value, "statusId");
            return (Criteria) this;
        }

        public Criteria andStatusIdNotEqualTo(Integer value) {
            addCriterion("status_id <>", value, "statusId");
            return (Criteria) this;
        }

        public Criteria andStatusIdGreaterThan(Integer value) {
            addCriterion("status_id >", value, "statusId");
            return (Criteria) this;
        }

        public Criteria andStatusIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("status_id >=", value, "statusId");
            return (Criteria) this;
        }

        public Criteria andStatusIdLessThan(Integer value) {
            addCriterion("status_id <", value, "statusId");
            return (Criteria) this;
        }

        public Criteria andStatusIdLessThanOrEqualTo(Integer value) {
            addCriterion("status_id <=", value, "statusId");
            return (Criteria) this;
        }

        public Criteria andStatusIdIn(List<Integer> values) {
            addCriterion("status_id in", values, "statusId");
            return (Criteria) this;
        }

        public Criteria andStatusIdNotIn(List<Integer> values) {
            addCriterion("status_id not in", values, "statusId");
            return (Criteria) this;
        }

        public Criteria andStatusIdBetween(Integer value1, Integer value2) {
            addCriterion("status_id between", value1, value2, "statusId");
            return (Criteria) this;
        }

        public Criteria andStatusIdNotBetween(Integer value1, Integer value2) {
            addCriterion("status_id not between", value1, value2, "statusId");
            return (Criteria) this;
        }

        public Criteria andPinyinIsNull() {
            addCriterion("pinyin is null");
            return (Criteria) this;
        }

        public Criteria andPinyinIsNotNull() {
            addCriterion("pinyin is not null");
            return (Criteria) this;
        }

        public Criteria andPinyinEqualTo(String value) {
            addCriterion("pinyin =", value, "pinyin");
            return (Criteria) this;
        }

        public Criteria andPinyinNotEqualTo(String value) {
            addCriterion("pinyin <>", value, "pinyin");
            return (Criteria) this;
        }

        public Criteria andPinyinGreaterThan(String value) {
            addCriterion("pinyin >", value, "pinyin");
            return (Criteria) this;
        }

        public Criteria andPinyinGreaterThanOrEqualTo(String value) {
            addCriterion("pinyin >=", value, "pinyin");
            return (Criteria) this;
        }

        public Criteria andPinyinLessThan(String value) {
            addCriterion("pinyin <", value, "pinyin");
            return (Criteria) this;
        }

        public Criteria andPinyinLessThanOrEqualTo(String value) {
            addCriterion("pinyin <=", value, "pinyin");
            return (Criteria) this;
        }

        public Criteria andPinyinLike(String value) {
            addCriterion("pinyin like", value, "pinyin");
            return (Criteria) this;
        }

        public Criteria andPinyinNotLike(String value) {
            addCriterion("pinyin not like", value, "pinyin");
            return (Criteria) this;
        }

        public Criteria andPinyinIn(List<String> values) {
            addCriterion("pinyin in", values, "pinyin");
            return (Criteria) this;
        }

        public Criteria andPinyinNotIn(List<String> values) {
            addCriterion("pinyin not in", values, "pinyin");
            return (Criteria) this;
        }

        public Criteria andPinyinBetween(String value1, String value2) {
            addCriterion("pinyin between", value1, value2, "pinyin");
            return (Criteria) this;
        }

        public Criteria andPinyinNotBetween(String value1, String value2) {
            addCriterion("pinyin not between", value1, value2, "pinyin");
            return (Criteria) this;
        }

        public Criteria andBarcodeIsNull() {
            addCriterion("barcode is null");
            return (Criteria) this;
        }

        public Criteria andBarcodeIsNotNull() {
            addCriterion("barcode is not null");
            return (Criteria) this;
        }

        public Criteria andBarcodeEqualTo(String value) {
            addCriterion("barcode =", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeNotEqualTo(String value) {
            addCriterion("barcode <>", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeGreaterThan(String value) {
            addCriterion("barcode >", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeGreaterThanOrEqualTo(String value) {
            addCriterion("barcode >=", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeLessThan(String value) {
            addCriterion("barcode <", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeLessThanOrEqualTo(String value) {
            addCriterion("barcode <=", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeLike(String value) {
            addCriterion("barcode like", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeNotLike(String value) {
            addCriterion("barcode not like", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeIn(List<String> values) {
            addCriterion("barcode in", values, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeNotIn(List<String> values) {
            addCriterion("barcode not in", values, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeBetween(String value1, String value2) {
            addCriterion("barcode between", value1, value2, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeNotBetween(String value1, String value2) {
            addCriterion("barcode not between", value1, value2, "barcode");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIsNull() {
            addCriterion("category_id is null");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIsNotNull() {
            addCriterion("category_id is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryIdEqualTo(Integer value) {
            addCriterion("category_id =", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotEqualTo(Integer value) {
            addCriterion("category_id <>", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdGreaterThan(Integer value) {
            addCriterion("category_id >", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("category_id >=", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdLessThan(Integer value) {
            addCriterion("category_id <", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdLessThanOrEqualTo(Integer value) {
            addCriterion("category_id <=", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIn(List<Integer> values) {
            addCriterion("category_id in", values, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotIn(List<Integer> values) {
            addCriterion("category_id not in", values, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdBetween(Integer value1, Integer value2) {
            addCriterion("category_id between", value1, value2, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotBetween(Integer value1, Integer value2) {
            addCriterion("category_id not between", value1, value2, "categoryId");
            return (Criteria) this;
        }

        public Criteria andMergeIsNull() {
            addCriterion("merge is null");
            return (Criteria) this;
        }

        public Criteria andMergeIsNotNull() {
            addCriterion("merge is not null");
            return (Criteria) this;
        }

        public Criteria andMergeEqualTo(Integer value) {
            addCriterion("merge =", value, "merge");
            return (Criteria) this;
        }

        public Criteria andMergeNotEqualTo(Integer value) {
            addCriterion("merge <>", value, "merge");
            return (Criteria) this;
        }

        public Criteria andMergeGreaterThan(Integer value) {
            addCriterion("merge >", value, "merge");
            return (Criteria) this;
        }

        public Criteria andMergeGreaterThanOrEqualTo(Integer value) {
            addCriterion("merge >=", value, "merge");
            return (Criteria) this;
        }

        public Criteria andMergeLessThan(Integer value) {
            addCriterion("merge <", value, "merge");
            return (Criteria) this;
        }

        public Criteria andMergeLessThanOrEqualTo(Integer value) {
            addCriterion("merge <=", value, "merge");
            return (Criteria) this;
        }

        public Criteria andMergeIn(List<Integer> values) {
            addCriterion("merge in", values, "merge");
            return (Criteria) this;
        }

        public Criteria andMergeNotIn(List<Integer> values) {
            addCriterion("merge not in", values, "merge");
            return (Criteria) this;
        }

        public Criteria andMergeBetween(Integer value1, Integer value2) {
            addCriterion("merge between", value1, value2, "merge");
            return (Criteria) this;
        }

        public Criteria andMergeNotBetween(Integer value1, Integer value2) {
            addCriterion("merge not between", value1, value2, "merge");
            return (Criteria) this;
        }

        public Criteria andClassIdIsNull() {
            addCriterion("class_id is null");
            return (Criteria) this;
        }

        public Criteria andClassIdIsNotNull() {
            addCriterion("class_id is not null");
            return (Criteria) this;
        }

        public Criteria andClassIdEqualTo(Long value) {
            addCriterion("class_id =", value, "classId");
            return (Criteria) this;
        }

        public Criteria andClassIdNotEqualTo(Long value) {
            addCriterion("class_id <>", value, "classId");
            return (Criteria) this;
        }

        public Criteria andClassIdGreaterThan(Long value) {
            addCriterion("class_id >", value, "classId");
            return (Criteria) this;
        }

        public Criteria andClassIdGreaterThanOrEqualTo(Long value) {
            addCriterion("class_id >=", value, "classId");
            return (Criteria) this;
        }

        public Criteria andClassIdLessThan(Long value) {
            addCriterion("class_id <", value, "classId");
            return (Criteria) this;
        }

        public Criteria andClassIdLessThanOrEqualTo(Long value) {
            addCriterion("class_id <=", value, "classId");
            return (Criteria) this;
        }

        public Criteria andClassIdIn(List<Long> values) {
            addCriterion("class_id in", values, "classId");
            return (Criteria) this;
        }

        public Criteria andClassIdNotIn(List<Long> values) {
            addCriterion("class_id not in", values, "classId");
            return (Criteria) this;
        }

        public Criteria andClassIdBetween(Long value1, Long value2) {
            addCriterion("class_id between", value1, value2, "classId");
            return (Criteria) this;
        }

        public Criteria andClassIdNotBetween(Long value1, Long value2) {
            addCriterion("class_id not between", value1, value2, "classId");
            return (Criteria) this;
        }

        public Criteria andIconPathIsNull() {
            addCriterion("icon_path is null");
            return (Criteria) this;
        }

        public Criteria andIconPathIsNotNull() {
            addCriterion("icon_path is not null");
            return (Criteria) this;
        }

        public Criteria andIconPathEqualTo(String value) {
            addCriterion("icon_path =", value, "iconPath");
            return (Criteria) this;
        }

        public Criteria andIconPathNotEqualTo(String value) {
            addCriterion("icon_path <>", value, "iconPath");
            return (Criteria) this;
        }

        public Criteria andIconPathGreaterThan(String value) {
            addCriterion("icon_path >", value, "iconPath");
            return (Criteria) this;
        }

        public Criteria andIconPathGreaterThanOrEqualTo(String value) {
            addCriterion("icon_path >=", value, "iconPath");
            return (Criteria) this;
        }

        public Criteria andIconPathLessThan(String value) {
            addCriterion("icon_path <", value, "iconPath");
            return (Criteria) this;
        }

        public Criteria andIconPathLessThanOrEqualTo(String value) {
            addCriterion("icon_path <=", value, "iconPath");
            return (Criteria) this;
        }

        public Criteria andIconPathLike(String value) {
            addCriterion("icon_path like", value, "iconPath");
            return (Criteria) this;
        }

        public Criteria andIconPathNotLike(String value) {
            addCriterion("icon_path not like", value, "iconPath");
            return (Criteria) this;
        }

        public Criteria andIconPathIn(List<String> values) {
            addCriterion("icon_path in", values, "iconPath");
            return (Criteria) this;
        }

        public Criteria andIconPathNotIn(List<String> values) {
            addCriterion("icon_path not in", values, "iconPath");
            return (Criteria) this;
        }

        public Criteria andIconPathBetween(String value1, String value2) {
            addCriterion("icon_path between", value1, value2, "iconPath");
            return (Criteria) this;
        }

        public Criteria andIconPathNotBetween(String value1, String value2) {
            addCriterion("icon_path not between", value1, value2, "iconPath");
            return (Criteria) this;
        }

        public Criteria andCreaterIdIsNull() {
            addCriterion("creater_id is null");
            return (Criteria) this;
        }

        public Criteria andCreaterIdIsNotNull() {
            addCriterion("creater_id is not null");
            return (Criteria) this;
        }

        public Criteria andCreaterIdEqualTo(Long value) {
            addCriterion("creater_id =", value, "createrId");
            return (Criteria) this;
        }

        public Criteria andCreaterIdNotEqualTo(Long value) {
            addCriterion("creater_id <>", value, "createrId");
            return (Criteria) this;
        }

        public Criteria andCreaterIdGreaterThan(Long value) {
            addCriterion("creater_id >", value, "createrId");
            return (Criteria) this;
        }

        public Criteria andCreaterIdGreaterThanOrEqualTo(Long value) {
            addCriterion("creater_id >=", value, "createrId");
            return (Criteria) this;
        }

        public Criteria andCreaterIdLessThan(Long value) {
            addCriterion("creater_id <", value, "createrId");
            return (Criteria) this;
        }

        public Criteria andCreaterIdLessThanOrEqualTo(Long value) {
            addCriterion("creater_id <=", value, "createrId");
            return (Criteria) this;
        }

        public Criteria andCreaterIdIn(List<Long> values) {
            addCriterion("creater_id in", values, "createrId");
            return (Criteria) this;
        }

        public Criteria andCreaterIdNotIn(List<Long> values) {
            addCriterion("creater_id not in", values, "createrId");
            return (Criteria) this;
        }

        public Criteria andCreaterIdBetween(Long value1, Long value2) {
            addCriterion("creater_id between", value1, value2, "createrId");
            return (Criteria) this;
        }

        public Criteria andCreaterIdNotBetween(Long value1, Long value2) {
            addCriterion("creater_id not between", value1, value2, "createrId");
            return (Criteria) this;
        }

        public Criteria andCreatedDateIsNull() {
            addCriterion("created_date is null");
            return (Criteria) this;
        }

        public Criteria andCreatedDateIsNotNull() {
            addCriterion("created_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedDateEqualTo(Date value) {
            addCriterion("created_date =", value, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateNotEqualTo(Date value) {
            addCriterion("created_date <>", value, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateGreaterThan(Date value) {
            addCriterion("created_date >", value, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateGreaterThanOrEqualTo(Date value) {
            addCriterion("created_date >=", value, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateLessThan(Date value) {
            addCriterion("created_date <", value, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateLessThanOrEqualTo(Date value) {
            addCriterion("created_date <=", value, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateIn(List<Date> values) {
            addCriterion("created_date in", values, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateNotIn(List<Date> values) {
            addCriterion("created_date not in", values, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateBetween(Date value1, Date value2) {
            addCriterion("created_date between", value1, value2, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateNotBetween(Date value1, Date value2) {
            addCriterion("created_date not between", value1, value2, "createdDate");
            return (Criteria) this;
        }

        public Criteria andModifierIdIsNull() {
            addCriterion("modifier_id is null");
            return (Criteria) this;
        }

        public Criteria andModifierIdIsNotNull() {
            addCriterion("modifier_id is not null");
            return (Criteria) this;
        }

        public Criteria andModifierIdEqualTo(Long value) {
            addCriterion("modifier_id =", value, "modifierId");
            return (Criteria) this;
        }

        public Criteria andModifierIdNotEqualTo(Long value) {
            addCriterion("modifier_id <>", value, "modifierId");
            return (Criteria) this;
        }

        public Criteria andModifierIdGreaterThan(Long value) {
            addCriterion("modifier_id >", value, "modifierId");
            return (Criteria) this;
        }

        public Criteria andModifierIdGreaterThanOrEqualTo(Long value) {
            addCriterion("modifier_id >=", value, "modifierId");
            return (Criteria) this;
        }

        public Criteria andModifierIdLessThan(Long value) {
            addCriterion("modifier_id <", value, "modifierId");
            return (Criteria) this;
        }

        public Criteria andModifierIdLessThanOrEqualTo(Long value) {
            addCriterion("modifier_id <=", value, "modifierId");
            return (Criteria) this;
        }

        public Criteria andModifierIdIn(List<Long> values) {
            addCriterion("modifier_id in", values, "modifierId");
            return (Criteria) this;
        }

        public Criteria andModifierIdNotIn(List<Long> values) {
            addCriterion("modifier_id not in", values, "modifierId");
            return (Criteria) this;
        }

        public Criteria andModifierIdBetween(Long value1, Long value2) {
            addCriterion("modifier_id between", value1, value2, "modifierId");
            return (Criteria) this;
        }

        public Criteria andModifierIdNotBetween(Long value1, Long value2) {
            addCriterion("modifier_id not between", value1, value2, "modifierId");
            return (Criteria) this;
        }

        public Criteria andModifiedDateIsNull() {
            addCriterion("modified_date is null");
            return (Criteria) this;
        }

        public Criteria andModifiedDateIsNotNull() {
            addCriterion("modified_date is not null");
            return (Criteria) this;
        }

        public Criteria andModifiedDateEqualTo(Date value) {
            addCriterion("modified_date =", value, "modifiedDate");
            return (Criteria) this;
        }

        public Criteria andModifiedDateNotEqualTo(Date value) {
            addCriterion("modified_date <>", value, "modifiedDate");
            return (Criteria) this;
        }

        public Criteria andModifiedDateGreaterThan(Date value) {
            addCriterion("modified_date >", value, "modifiedDate");
            return (Criteria) this;
        }

        public Criteria andModifiedDateGreaterThanOrEqualTo(Date value) {
            addCriterion("modified_date >=", value, "modifiedDate");
            return (Criteria) this;
        }

        public Criteria andModifiedDateLessThan(Date value) {
            addCriterion("modified_date <", value, "modifiedDate");
            return (Criteria) this;
        }

        public Criteria andModifiedDateLessThanOrEqualTo(Date value) {
            addCriterion("modified_date <=", value, "modifiedDate");
            return (Criteria) this;
        }

        public Criteria andModifiedDateIn(List<Date> values) {
            addCriterion("modified_date in", values, "modifiedDate");
            return (Criteria) this;
        }

        public Criteria andModifiedDateNotIn(List<Date> values) {
            addCriterion("modified_date not in", values, "modifiedDate");
            return (Criteria) this;
        }

        public Criteria andModifiedDateBetween(Date value1, Date value2) {
            addCriterion("modified_date between", value1, value2, "modifiedDate");
            return (Criteria) this;
        }

        public Criteria andModifiedDateNotBetween(Date value1, Date value2) {
            addCriterion("modified_date not between", value1, value2, "modifiedDate");
            return (Criteria) this;
        }

        public Criteria andErpCodeIsNull() {
            addCriterion("erp_code is null");
            return (Criteria) this;
        }

        public Criteria andErpCodeIsNotNull() {
            addCriterion("erp_code is not null");
            return (Criteria) this;
        }

        public Criteria andErpCodeEqualTo(String value) {
            addCriterion("erp_code =", value, "erpCode");
            return (Criteria) this;
        }

        public Criteria andErpCodeNotEqualTo(String value) {
            addCriterion("erp_code <>", value, "erpCode");
            return (Criteria) this;
        }

        public Criteria andErpCodeGreaterThan(String value) {
            addCriterion("erp_code >", value, "erpCode");
            return (Criteria) this;
        }

        public Criteria andErpCodeGreaterThanOrEqualTo(String value) {
            addCriterion("erp_code >=", value, "erpCode");
            return (Criteria) this;
        }

        public Criteria andErpCodeLessThan(String value) {
            addCriterion("erp_code <", value, "erpCode");
            return (Criteria) this;
        }

        public Criteria andErpCodeLessThanOrEqualTo(String value) {
            addCriterion("erp_code <=", value, "erpCode");
            return (Criteria) this;
        }

        public Criteria andErpCodeLike(String value) {
            addCriterion("erp_code like", value, "erpCode");
            return (Criteria) this;
        }

        public Criteria andErpCodeNotLike(String value) {
            addCriterion("erp_code not like", value, "erpCode");
            return (Criteria) this;
        }

        public Criteria andErpCodeIn(List<String> values) {
            addCriterion("erp_code in", values, "erpCode");
            return (Criteria) this;
        }

        public Criteria andErpCodeNotIn(List<String> values) {
            addCriterion("erp_code not in", values, "erpCode");
            return (Criteria) this;
        }

        public Criteria andErpCodeBetween(String value1, String value2) {
            addCriterion("erp_code between", value1, value2, "erpCode");
            return (Criteria) this;
        }

        public Criteria andErpCodeNotBetween(String value1, String value2) {
            addCriterion("erp_code not between", value1, value2, "erpCode");
            return (Criteria) this;
        }

        public Criteria andAcceptCategoryIdIsNull() {
            addCriterion("accept_category_id is null");
            return (Criteria) this;
        }

        public Criteria andAcceptCategoryIdIsNotNull() {
            addCriterion("accept_category_id is not null");
            return (Criteria) this;
        }

        public Criteria andAcceptCategoryIdEqualTo(Long value) {
            addCriterion("accept_category_id =", value, "acceptCategoryId");
            return (Criteria) this;
        }

        public Criteria andAcceptCategoryIdNotEqualTo(Long value) {
            addCriterion("accept_category_id <>", value, "acceptCategoryId");
            return (Criteria) this;
        }

        public Criteria andAcceptCategoryIdGreaterThan(Long value) {
            addCriterion("accept_category_id >", value, "acceptCategoryId");
            return (Criteria) this;
        }

        public Criteria andAcceptCategoryIdGreaterThanOrEqualTo(Long value) {
            addCriterion("accept_category_id >=", value, "acceptCategoryId");
            return (Criteria) this;
        }

        public Criteria andAcceptCategoryIdLessThan(Long value) {
            addCriterion("accept_category_id <", value, "acceptCategoryId");
            return (Criteria) this;
        }

        public Criteria andAcceptCategoryIdLessThanOrEqualTo(Long value) {
            addCriterion("accept_category_id <=", value, "acceptCategoryId");
            return (Criteria) this;
        }

        public Criteria andAcceptCategoryIdIn(List<Long> values) {
            addCriterion("accept_category_id in", values, "acceptCategoryId");
            return (Criteria) this;
        }

        public Criteria andAcceptCategoryIdNotIn(List<Long> values) {
            addCriterion("accept_category_id not in", values, "acceptCategoryId");
            return (Criteria) this;
        }

        public Criteria andAcceptCategoryIdBetween(Long value1, Long value2) {
            addCriterion("accept_category_id between", value1, value2, "acceptCategoryId");
            return (Criteria) this;
        }

        public Criteria andAcceptCategoryIdNotBetween(Long value1, Long value2) {
            addCriterion("accept_category_id not between", value1, value2, "acceptCategoryId");
            return (Criteria) this;
        }

        public Criteria andPublicMaterialClassIdIsNull() {
            addCriterion("public_material_class_id is null");
            return (Criteria) this;
        }

        public Criteria andPublicMaterialClassIdIsNotNull() {
            addCriterion("public_material_class_id is not null");
            return (Criteria) this;
        }

        public Criteria andPublicMaterialClassIdEqualTo(Long value) {
            addCriterion("public_material_class_id =", value, "publicMaterialClassId");
            return (Criteria) this;
        }

        public Criteria andPublicMaterialClassIdNotEqualTo(Long value) {
            addCriterion("public_material_class_id <>", value, "publicMaterialClassId");
            return (Criteria) this;
        }

        public Criteria andPublicMaterialClassIdGreaterThan(Long value) {
            addCriterion("public_material_class_id >", value, "publicMaterialClassId");
            return (Criteria) this;
        }

        public Criteria andPublicMaterialClassIdGreaterThanOrEqualTo(Long value) {
            addCriterion("public_material_class_id >=", value, "publicMaterialClassId");
            return (Criteria) this;
        }

        public Criteria andPublicMaterialClassIdLessThan(Long value) {
            addCriterion("public_material_class_id <", value, "publicMaterialClassId");
            return (Criteria) this;
        }

        public Criteria andPublicMaterialClassIdLessThanOrEqualTo(Long value) {
            addCriterion("public_material_class_id <=", value, "publicMaterialClassId");
            return (Criteria) this;
        }

        public Criteria andPublicMaterialClassIdIn(List<Long> values) {
            addCriterion("public_material_class_id in", values, "publicMaterialClassId");
            return (Criteria) this;
        }

        public Criteria andPublicMaterialClassIdNotIn(List<Long> values) {
            addCriterion("public_material_class_id not in", values, "publicMaterialClassId");
            return (Criteria) this;
        }

        public Criteria andPublicMaterialClassIdBetween(Long value1, Long value2) {
            addCriterion("public_material_class_id between", value1, value2, "publicMaterialClassId");
            return (Criteria) this;
        }

        public Criteria andPublicMaterialClassIdNotBetween(Long value1, Long value2) {
            addCriterion("public_material_class_id not between", value1, value2, "publicMaterialClassId");
            return (Criteria) this;
        }

        public Criteria andOrdinalIsNull() {
            addCriterion("ordinal is null");
            return (Criteria) this;
        }

        public Criteria andOrdinalIsNotNull() {
            addCriterion("ordinal is not null");
            return (Criteria) this;
        }

        public Criteria andOrdinalEqualTo(Integer value) {
            addCriterion("ordinal =", value, "ordinal");
            return (Criteria) this;
        }

        public Criteria andOrdinalNotEqualTo(Integer value) {
            addCriterion("ordinal <>", value, "ordinal");
            return (Criteria) this;
        }

        public Criteria andOrdinalGreaterThan(Integer value) {
            addCriterion("ordinal >", value, "ordinal");
            return (Criteria) this;
        }

        public Criteria andOrdinalGreaterThanOrEqualTo(Integer value) {
            addCriterion("ordinal >=", value, "ordinal");
            return (Criteria) this;
        }

        public Criteria andOrdinalLessThan(Integer value) {
            addCriterion("ordinal <", value, "ordinal");
            return (Criteria) this;
        }

        public Criteria andOrdinalLessThanOrEqualTo(Integer value) {
            addCriterion("ordinal <=", value, "ordinal");
            return (Criteria) this;
        }

        public Criteria andOrdinalIn(List<Integer> values) {
            addCriterion("ordinal in", values, "ordinal");
            return (Criteria) this;
        }

        public Criteria andOrdinalNotIn(List<Integer> values) {
            addCriterion("ordinal not in", values, "ordinal");
            return (Criteria) this;
        }

        public Criteria andOrdinalBetween(Integer value1, Integer value2) {
            addCriterion("ordinal between", value1, value2, "ordinal");
            return (Criteria) this;
        }

        public Criteria andOrdinalNotBetween(Integer value1, Integer value2) {
            addCriterion("ordinal not between", value1, value2, "ordinal");
            return (Criteria) this;
        }

        public Criteria andFullPinYinIsNull() {
            addCriterion("full_pin_yin is null");
            return (Criteria) this;
        }

        public Criteria andFullPinYinIsNotNull() {
            addCriterion("full_pin_yin is not null");
            return (Criteria) this;
        }

        public Criteria andFullPinYinEqualTo(String value) {
            addCriterion("full_pin_yin =", value, "fullPinYin");
            return (Criteria) this;
        }

        public Criteria andFullPinYinNotEqualTo(String value) {
            addCriterion("full_pin_yin <>", value, "fullPinYin");
            return (Criteria) this;
        }

        public Criteria andFullPinYinGreaterThan(String value) {
            addCriterion("full_pin_yin >", value, "fullPinYin");
            return (Criteria) this;
        }

        public Criteria andFullPinYinGreaterThanOrEqualTo(String value) {
            addCriterion("full_pin_yin >=", value, "fullPinYin");
            return (Criteria) this;
        }

        public Criteria andFullPinYinLessThan(String value) {
            addCriterion("full_pin_yin <", value, "fullPinYin");
            return (Criteria) this;
        }

        public Criteria andFullPinYinLessThanOrEqualTo(String value) {
            addCriterion("full_pin_yin <=", value, "fullPinYin");
            return (Criteria) this;
        }

        public Criteria andFullPinYinLike(String value) {
            addCriterion("full_pin_yin like", value, "fullPinYin");
            return (Criteria) this;
        }

        public Criteria andFullPinYinNotLike(String value) {
            addCriterion("full_pin_yin not like", value, "fullPinYin");
            return (Criteria) this;
        }

        public Criteria andFullPinYinIn(List<String> values) {
            addCriterion("full_pin_yin in", values, "fullPinYin");
            return (Criteria) this;
        }

        public Criteria andFullPinYinNotIn(List<String> values) {
            addCriterion("full_pin_yin not in", values, "fullPinYin");
            return (Criteria) this;
        }

        public Criteria andFullPinYinBetween(String value1, String value2) {
            addCriterion("full_pin_yin between", value1, value2, "fullPinYin");
            return (Criteria) this;
        }

        public Criteria andFullPinYinNotBetween(String value1, String value2) {
            addCriterion("full_pin_yin not between", value1, value2, "fullPinYin");
            return (Criteria) this;
        }

        public Criteria andCreatedEmployeeIdIsNull() {
            addCriterion("created_employee_id is null");
            return (Criteria) this;
        }

        public Criteria andCreatedEmployeeIdIsNotNull() {
            addCriterion("created_employee_id is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedEmployeeIdEqualTo(Long value) {
            addCriterion("created_employee_id =", value, "createdEmployeeId");
            return (Criteria) this;
        }

        public Criteria andCreatedEmployeeIdNotEqualTo(Long value) {
            addCriterion("created_employee_id <>", value, "createdEmployeeId");
            return (Criteria) this;
        }

        public Criteria andCreatedEmployeeIdGreaterThan(Long value) {
            addCriterion("created_employee_id >", value, "createdEmployeeId");
            return (Criteria) this;
        }

        public Criteria andCreatedEmployeeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("created_employee_id >=", value, "createdEmployeeId");
            return (Criteria) this;
        }

        public Criteria andCreatedEmployeeIdLessThan(Long value) {
            addCriterion("created_employee_id <", value, "createdEmployeeId");
            return (Criteria) this;
        }

        public Criteria andCreatedEmployeeIdLessThanOrEqualTo(Long value) {
            addCriterion("created_employee_id <=", value, "createdEmployeeId");
            return (Criteria) this;
        }

        public Criteria andCreatedEmployeeIdIn(List<Long> values) {
            addCriterion("created_employee_id in", values, "createdEmployeeId");
            return (Criteria) this;
        }

        public Criteria andCreatedEmployeeIdNotIn(List<Long> values) {
            addCriterion("created_employee_id not in", values, "createdEmployeeId");
            return (Criteria) this;
        }

        public Criteria andCreatedEmployeeIdBetween(Long value1, Long value2) {
            addCriterion("created_employee_id between", value1, value2, "createdEmployeeId");
            return (Criteria) this;
        }

        public Criteria andCreatedEmployeeIdNotBetween(Long value1, Long value2) {
            addCriterion("created_employee_id not between", value1, value2, "createdEmployeeId");
            return (Criteria) this;
        }

        public Criteria andModifiedEmployeeIdIsNull() {
            addCriterion("modified_employee_id is null");
            return (Criteria) this;
        }

        public Criteria andModifiedEmployeeIdIsNotNull() {
            addCriterion("modified_employee_id is not null");
            return (Criteria) this;
        }

        public Criteria andModifiedEmployeeIdEqualTo(Long value) {
            addCriterion("modified_employee_id =", value, "modifiedEmployeeId");
            return (Criteria) this;
        }

        public Criteria andModifiedEmployeeIdNotEqualTo(Long value) {
            addCriterion("modified_employee_id <>", value, "modifiedEmployeeId");
            return (Criteria) this;
        }

        public Criteria andModifiedEmployeeIdGreaterThan(Long value) {
            addCriterion("modified_employee_id >", value, "modifiedEmployeeId");
            return (Criteria) this;
        }

        public Criteria andModifiedEmployeeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("modified_employee_id >=", value, "modifiedEmployeeId");
            return (Criteria) this;
        }

        public Criteria andModifiedEmployeeIdLessThan(Long value) {
            addCriterion("modified_employee_id <", value, "modifiedEmployeeId");
            return (Criteria) this;
        }

        public Criteria andModifiedEmployeeIdLessThanOrEqualTo(Long value) {
            addCriterion("modified_employee_id <=", value, "modifiedEmployeeId");
            return (Criteria) this;
        }

        public Criteria andModifiedEmployeeIdIn(List<Long> values) {
            addCriterion("modified_employee_id in", values, "modifiedEmployeeId");
            return (Criteria) this;
        }

        public Criteria andModifiedEmployeeIdNotIn(List<Long> values) {
            addCriterion("modified_employee_id not in", values, "modifiedEmployeeId");
            return (Criteria) this;
        }

        public Criteria andModifiedEmployeeIdBetween(Long value1, Long value2) {
            addCriterion("modified_employee_id between", value1, value2, "modifiedEmployeeId");
            return (Criteria) this;
        }

        public Criteria andModifiedEmployeeIdNotBetween(Long value1, Long value2) {
            addCriterion("modified_employee_id not between", value1, value2, "modifiedEmployeeId");
            return (Criteria) this;
        }

        public Criteria andQuantityOfInventoryIsNull() {
            addCriterion("quantity_of_inventory is null");
            return (Criteria) this;
        }

        public Criteria andQuantityOfInventoryIsNotNull() {
            addCriterion("quantity_of_inventory is not null");
            return (Criteria) this;
        }

        public Criteria andQuantityOfInventoryEqualTo(BigDecimal value) {
            addCriterion("quantity_of_inventory =", value, "quantityOfInventory");
            return (Criteria) this;
        }

        public Criteria andQuantityOfInventoryNotEqualTo(BigDecimal value) {
            addCriterion("quantity_of_inventory <>", value, "quantityOfInventory");
            return (Criteria) this;
        }

        public Criteria andQuantityOfInventoryGreaterThan(BigDecimal value) {
            addCriterion("quantity_of_inventory >", value, "quantityOfInventory");
            return (Criteria) this;
        }

        public Criteria andQuantityOfInventoryGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("quantity_of_inventory >=", value, "quantityOfInventory");
            return (Criteria) this;
        }

        public Criteria andQuantityOfInventoryLessThan(BigDecimal value) {
            addCriterion("quantity_of_inventory <", value, "quantityOfInventory");
            return (Criteria) this;
        }

        public Criteria andQuantityOfInventoryLessThanOrEqualTo(BigDecimal value) {
            addCriterion("quantity_of_inventory <=", value, "quantityOfInventory");
            return (Criteria) this;
        }

        public Criteria andQuantityOfInventoryIn(List<BigDecimal> values) {
            addCriterion("quantity_of_inventory in", values, "quantityOfInventory");
            return (Criteria) this;
        }

        public Criteria andQuantityOfInventoryNotIn(List<BigDecimal> values) {
            addCriterion("quantity_of_inventory not in", values, "quantityOfInventory");
            return (Criteria) this;
        }

        public Criteria andQuantityOfInventoryBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("quantity_of_inventory between", value1, value2, "quantityOfInventory");
            return (Criteria) this;
        }

        public Criteria andQuantityOfInventoryNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("quantity_of_inventory not between", value1, value2, "quantityOfInventory");
            return (Criteria) this;
        }

        public Criteria andQuantityOfResidueIsNull() {
            addCriterion("quantity_of_residue is null");
            return (Criteria) this;
        }

        public Criteria andQuantityOfResidueIsNotNull() {
            addCriterion("quantity_of_residue is not null");
            return (Criteria) this;
        }

        public Criteria andQuantityOfResidueEqualTo(BigDecimal value) {
            addCriterion("quantity_of_residue =", value, "quantityOfResidue");
            return (Criteria) this;
        }

        public Criteria andQuantityOfResidueNotEqualTo(BigDecimal value) {
            addCriterion("quantity_of_residue <>", value, "quantityOfResidue");
            return (Criteria) this;
        }

        public Criteria andQuantityOfResidueGreaterThan(BigDecimal value) {
            addCriterion("quantity_of_residue >", value, "quantityOfResidue");
            return (Criteria) this;
        }

        public Criteria andQuantityOfResidueGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("quantity_of_residue >=", value, "quantityOfResidue");
            return (Criteria) this;
        }

        public Criteria andQuantityOfResidueLessThan(BigDecimal value) {
            addCriterion("quantity_of_residue <", value, "quantityOfResidue");
            return (Criteria) this;
        }

        public Criteria andQuantityOfResidueLessThanOrEqualTo(BigDecimal value) {
            addCriterion("quantity_of_residue <=", value, "quantityOfResidue");
            return (Criteria) this;
        }

        public Criteria andQuantityOfResidueIn(List<BigDecimal> values) {
            addCriterion("quantity_of_residue in", values, "quantityOfResidue");
            return (Criteria) this;
        }

        public Criteria andQuantityOfResidueNotIn(List<BigDecimal> values) {
            addCriterion("quantity_of_residue not in", values, "quantityOfResidue");
            return (Criteria) this;
        }

        public Criteria andQuantityOfResidueBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("quantity_of_residue between", value1, value2, "quantityOfResidue");
            return (Criteria) this;
        }

        public Criteria andQuantityOfResidueNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("quantity_of_residue not between", value1, value2, "quantityOfResidue");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(BigDecimal value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(BigDecimal value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(BigDecimal value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(BigDecimal value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<BigDecimal> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<BigDecimal> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andSalepriceIsNull() {
            addCriterion("saleprice is null");
            return (Criteria) this;
        }

        public Criteria andSalepriceIsNotNull() {
            addCriterion("saleprice is not null");
            return (Criteria) this;
        }

        public Criteria andSalepriceEqualTo(BigDecimal value) {
            addCriterion("saleprice =", value, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceNotEqualTo(BigDecimal value) {
            addCriterion("saleprice <>", value, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceGreaterThan(BigDecimal value) {
            addCriterion("saleprice >", value, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("saleprice >=", value, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceLessThan(BigDecimal value) {
            addCriterion("saleprice <", value, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("saleprice <=", value, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceIn(List<BigDecimal> values) {
            addCriterion("saleprice in", values, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceNotIn(List<BigDecimal> values) {
            addCriterion("saleprice not in", values, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("saleprice between", value1, value2, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("saleprice not between", value1, value2, "saleprice");
            return (Criteria) this;
        }

        public Criteria andIssaleIsNull() {
            addCriterion("issale is null");
            return (Criteria) this;
        }

        public Criteria andIssaleIsNotNull() {
            addCriterion("issale is not null");
            return (Criteria) this;
        }

        public Criteria andIssaleEqualTo(Integer value) {
            addCriterion("issale =", value, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleNotEqualTo(Integer value) {
            addCriterion("issale <>", value, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleGreaterThan(Integer value) {
            addCriterion("issale >", value, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleGreaterThanOrEqualTo(Integer value) {
            addCriterion("issale >=", value, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleLessThan(Integer value) {
            addCriterion("issale <", value, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleLessThanOrEqualTo(Integer value) {
            addCriterion("issale <=", value, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleIn(List<Integer> values) {
            addCriterion("issale in", values, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleNotIn(List<Integer> values) {
            addCriterion("issale not in", values, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleBetween(Integer value1, Integer value2) {
            addCriterion("issale between", value1, value2, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleNotBetween(Integer value1, Integer value2) {
            addCriterion("issale not between", value1, value2, "issale");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}